<?php
require('to/Maselecciones_Candidatos.php');

class maselecciones_candidatosDAO{
    const SEL_ALL = "SELECT * FROM maselecciones_candidatos WHERE status = 'A'";
    const ADD_VOTO = "UPDATE maselecciones_candidatos SET votos = %d WHERE id = %d";
    const SEL_BY_ID = "SELECT * FROM maselecciones_candidatos WHERE status = 'A' AND id = %d";

    public static function getAll(){
        $sSql = self::SEL_ALL;

        $DB = DBFunctions::getInstance();
        $arrMasElecciones = $DB->execSelect($sSql, array());

        return self::populate($arrMasElecciones);
    }

    public static function getById($id){
        $sSql = self::SEL_BY_ID;

        $DB = DBFunctions::getInstance();
        $arrMasElecciones = $DB->execSelect($sSql, array($id));

        return self::populate($arrMasElecciones);
    }

    public static  function addVoto($cantidad, $id){
        $sSql = self::ADD_VOTO;

        $DB = DBFunctions::getInstance();
        $DB->execQ($sSql, array($cantidad, $id));
    }



    public function populate($arrMasElecciones){
        $objMasElecciones = array();

        foreach($arrMasElecciones as $e){
            $objCandidato = new MaseleccionesCandidatos();
            $objCandidato->setID($e["id"]);
            $objCandidato->setContienda($e["contienda"]);
            $objCandidato->setPuesto($e["puesto"]);
            $objCandidato->setSubpuesto($e["sub_puesto"]);
            $objCandidato->setPartido($e["partido"]);
            $objCandidato->setNombre($e["nombre"]);
            $objCandidato->setFoto($e["foto"]);
            $objCandidato->setResultsClass($e["results_class"]);
            $objCandidato->setContainerType($e["container_type"]);
            $objCandidato->setClassType($e["class_type"]);
            $objCandidato->setPartidoLogo($e["partido_logo"]);
            $objCandidato->setVotos($e["votos"]);

            array_push($objMasElecciones, $objCandidato);
        }

        return $objMasElecciones;
    }

}